Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Buildpacks-V3 task to Buildpacks, and add Buildpacks-Phases task #415

Merged
merged 3 commits into from
Jul 22, 2020

Conversation

dfreilich
Copy link
Contributor

@dfreilich dfreilich commented Jul 13, 2020

Changes

This PR renames the historic Buildpacks-V3 task to Buildpacks-Phases, together with a new task, buildpacks (named because that should be the default users use for interacting with CNBs/Buildpacks), which uses the creator binary to simplify the running process, and reduce the number of containers needed to create.

The name buildpacks-V3 reflected a piece of buildpacks history (that it is the third iteration of the buildpacks concept, since created by Heroku in 2011) that isn't relevant to a modern user, and is more confusing. We've renamed it to buildpacks-phases, to signify that that particular task decomposes the current Buildpacks process (exemplified in the buildpacks task) to the different phases, which can ultimately allow users a bit more control over their information.

Additionally, this task updates the list of suggested builders to reflect the current list of suggested builders. It also updates the README, to make it a bit simpler.

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

  • Includes docs (if user facing)
  • Commit messages follow commit message best practices
  • Yaml file complies with yamllint rules.
  • Complies with Catalog Orgainization TEP, see example. Note An issue has been filed to automate this validation
    • File path follows <kind>/<name>/<version>/name.yaml

    • Has README.md at <kind>/<name>/<version>/README.md

    • Has mandatory metadata.labels - app.kubernetes.io/version the same as the <version> of the resource

    • Has mandatory metadata.annotations tekton.dev/pipelines.minVersion

    • mandatory spec.description follows the convention

        ```
      
        spec:
          description: >-
            one line summary of the resource
      
            Paragraph(s) to describe the resource.
        ```
      

See the contribution guide
for more details.


@tekton-robot
Copy link

Hi @dfreilich. Thanks for your PR.

I'm waiting for a tektoncd member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@tekton-robot tekton-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 13, 2020
@dfreilich dfreilich force-pushed the dfreilich-rename branch 4 times, most recently from e96eeb8 to 49dc7ed Compare July 13, 2020 21:33
@dfreilich
Copy link
Contributor Author

Note: there is an issue now with the Paketo-builders where they aren't working with the tekton task. I have notified the team, and they are working on it. I also mentioned it in the commit message.

@dfreilich
Copy link
Contributor Author

/assign @kimsterv

@dfreilich dfreilich marked this pull request as draft July 15, 2020 13:37
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 16, 2020
@tekton-robot tekton-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 16, 2020
task/buildpacks-separate-phases/0.1/README.md Outdated Show resolved Hide resolved
Comment on lines +25 to +30
- name: CACHE
description: The name of the persistent app cache volume.
default: empty-dir
- name: CACHE_IMAGE
description: The name of the persistent app cache image.
default: ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if you provide both? Is there a set precedence?

CC: @ekcasey

@dfreilich dfreilich marked this pull request as ready for review July 16, 2020 17:12
@tekton-robot tekton-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Jul 16, 2020
The suffix v3 was a piece of buildpacks history, stemming from the initial start of the buildpacks concept, but isn't relevant to current consumers of the buildpacks task. To simplify it, and to fit with other task styles, we are removing v3

Additionally, we are updating the list of suggested builders, to reflect the current status of pack builders. NOTE: Paketo builders currently have a bug and don't work in Tekton, and until that issue is resolved, we aren't adding them in the list.

Signed-off-by: David Freilich <[email protected]>
…ividual phases

With the release of Platform API 0.3 (implemented in github.com/buildpacks/lifecycle v0.7.0), there is a creator binary that simplifies the CNB experience; calling it runs all of the individual lifecycle phases, and minimizes the number of separate containers needed for the process. As such, we moved the buildpacks task to use it.

At the same time, it is also helpful, in some scenarios, to run the individual phases; it allows for greater control of secrets, amongst other things. As such, we moved the original task to buildpacks-separate-phases to allow users the choice.

This commit also updates the READMEs, making them a bit clearer about what CNBs are and what the tasks do, as well as adding in the Paketo builders to the example builders.

Signed-off-by: David Freilich <[email protected]>
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 17, 2020
@chmouel
Copy link
Member

chmouel commented Jul 20, 2020

/ok-to-test

@tekton-robot tekton-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Jul 20, 2020
@tekton-robot tekton-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jul 20, 2020
@chmouel
Copy link
Member

chmouel commented Jul 20, 2020

I am not totally familiar how buildpack works but I am wondering why is it called buildpack-phases and not just buildpack?

@dfreilich dfreilich changed the title Rename Buildpacks-V3 task to Buildpacks Rename Buildpacks-V3 task to Buildpacks, and add Buildpacks-Phases task Jul 20, 2020
Additionally, remove commented out references to ADDITIONAL_TAGS; that will be added as a separate issue.

Signed-off-by: David Freilich <[email protected]>
@dfreilich
Copy link
Contributor Author

@chmouel The Cloud Native Buildpack spec defines a few different lifecycle phases that people can either run separately, or can be run collectively. This PR adds both options in - the basic buildpacks task runs all of the phases collectively, using the creator binary, while the buildpacks-phases task decomposes the lifecycle into the separate phases, calling the binaries individually. The buildpacks-phases task can help users protect their creds a bit more - it should enable users, if they so desire, to only pass credentials into the phases that need it; while the buildpacks task is simpler, and what we generally recommend for users to use, when using established builders from trusted authors.

@dfreilich
Copy link
Contributor Author

/retest

@jromero
Copy link
Member

jromero commented Jul 20, 2020

/approve

@dfreilich
Copy link
Contributor Author

/assign @kimsterv

@chmouel
Copy link
Member

chmouel commented Jul 21, 2020

@dfreilich SGTM, thansk for taking the time to explain me this.

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Jul 21, 2020
@jromero
Copy link
Member

jromero commented Jul 21, 2020

@kimsterv is there anything else we need to do to get this in? Any questions, comments, concerns?

Copy link
Member

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/meow

@tekton-robot
Copy link

@vdemeester: cat image

In response to this:

/meow

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@tekton-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jromero, vdemeester

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 22, 2020
@tekton-robot tekton-robot merged commit f1e3864 into tektoncd:master Jul 22, 2020
@dfreilich dfreilich deleted the dfreilich-rename branch July 22, 2020 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants